#pragma once
#include "SceneComponent.h"
namespace Alice{
    class PrimitiveSceneProxy;
    class PrimitiveComponent:public SceneComponent{
    public:
        PrimitiveSceneProxy* mPrimitiveSceneProxy;
        virtual class MaterialInterface* GetMaterial(int32 inIndex=0){return nullptr;}
        virtual void CreateRenderState_Concurrent(FRegisterComponentContext* Context) override;
        virtual void SendRenderTransform_Concurrent() override;
        /**
         * Creates a proxy to represent the primitive to the scene manager in the rendering thread.
         * @return The proxy object.
         */
        virtual PrimitiveSceneProxy* CreateSceneProxy(){
            return nullptr;
        }
    };
}